
import axios from "axios"
import router from '../router'
import { Message } from 'element-ui'
import store from '../store'


let config = {
    baseURL: 'http://localhost:8084',
    timeout: 5000 // 请求超时时间
};

const _axios = axios.create(config);


_axios.interceptors.request.use(
    config => {
        // 发送前需要处理的事情
        
        if (localStorage.getItem("token")) {
            // 判断是否存在token，如果存在的话，则每个http header都加上token
            // Bearer是JWT的认证头部信息
            config.headers.common["Authorization"] = "Bearer " + localStorage.getItem("token");
        }
        //必须returnconfig
        console.log(localStorage.getItem("token"), 'token');
        return config;
    },
    error => {
        // 发生错误时需要处理的事情
        return Promise.reject(error);
    }
);

_axios.interceptors.response.use(
    response => {
        // 接收数据需要处理的事情
        return response;
    },
    error => {
        // 发生错误时需要处理的事情
        const res = error.response.data
        console.log(error.response.data);
        //token过期处理
        if (res.code === 20000) {
            store.commit("user/REMOVE_USER_MESSAGE")
            router.push("/signin")
        }
        const msg = res.msg
          Message.error(msg)
     
        return Promise.reject(error);
    }
);

export default _axios;